ci: self-contained pnpm setup, drop cache-warming job#771
Merged
Conversation
Replace the separate `setup` reusable workflow (a serial cache-warming job that every consumer blocked on via `needs: setup`) with a self-contained `setup-pnpm` composite that installs dependencies using actions/setup-node's built-in, lockfile-keyed pnpm store cache. - Rewrite .github/actions/setup-pnpm to setup pnpm + Node (cache: pnpm) then `pnpm install --frozen-lockfile`, instead of a restore-only step with no install fallback. - Delete .github/workflows/setup.yml and remove `needs: setup` from test, check-dist, update (3 jobs), and sync-readme-versions. Jobs now run in parallel without waiting on a warm-up runner. - Move the repository guard from the removed setup job onto the sync job in sync-readme-versions. - Drops the redundant `needs: setup` on update's schema job, which only runs curl + jq and never used pnpm (was #3). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Collapse the separate
setupcache-warming workflow into a self-containedsetup-pnpmcomposite that installs dependencies, and remove everyneeds: setupchain.Why
The old design ran a dedicated
setupreusable workflow whose only job was to populate a cache;test,check-dist,update(×3 jobs), andsync-readme-versionsall declaredneeds: setup, so each blocked on a full extra runner spin-up + checkout before doing any real work — then re-checked-out and did a restore-only step (nopnpm installfallback). Two issues:actions/setup-nodeprovides built-in, lockfile-keyed caching of the pnpm store — per its docs, "The action does not cachenode_modules". The old composite instead cachednode_modulesdirectly with no install step, so a cache miss/eviction left a job with no dependencies.Changes
.github/actions/setup-pnpm— now: pnpm → Node withcache: pnpm→pnpm install --frozen-lockfile. Self-contained and parallel-safe. (pnpm bumpedv6.0.5→v6.0.8to match what the oldsetup.ymlused.).github/workflows/setup.ymland dropneeds: setupfromtest,check-dist,update,sync-readme-versions.github.repository == …) from the removed setup job onto thesyncjob.update.yml'sschemajob (purecurl | jq) no longer carries a pointlessneeds: setup.Notes
pnpm-lock.yaml-derived viasetup-node.🤖 Generated with Claude Code